在 MySQL 中将字符串转换为日期格式

您所在的位置:网站首页 sql 字符串转时间 在 MySQL 中将字符串转换为日期格式

在 MySQL 中将字符串转换为日期格式

2024-07-12 22:37| 来源: 网络整理| 查看: 265

在 MySQL 中将字符串转换为日期格式 结论

本文将指导你并通过不同的函数将充当 DATE 的字符串类型值转换为 DATE 类型值。我们还将练习使用 MySQL 中的 STR_TO_DATE()、CONVERT() 和 CAST() 函数的一些示例代码。

注意 我们使用的是 MySQL V8.0.27。你可以从这里获得较新的(如果有的话) 在 MySQL 中将字符串转换为日期格式

我们将学习以下在 MySQL 中将字符串转换为 DATE 格式的方法。

MySQL STR_TO_DATE() 函数

此函数将 str(字符串)转换为 DATE 值。DATE 的格式将根据你的字符串格式。例如,你想将 MM/DD/YYYY 从字符串类型转换为 DATE 类型,那么 DATE 也将是 MM/DD/YYYY 格式。

STR_TO_DATE() 函数可以根据输入以及字符串格式返回 DATE、DATETIME 或 TIME 值。请参阅下面给出的示例并将它们与输出进行比较。

SELECT STR_TO_DATE('2021-08-23', '%Y-%m-%d');

输出:

如果我们改变格式怎么办?让我们用逗号替换破折号。

SELECT STR_TO_DATE('2021-08-23', '%Y,%m,%d');

输出:

参见上面给出的输出,它返回 NULL。让我们仅将格式从 YYYY-MM-DD 更改为 DD-MM-YYYY。

SELECT STR_TO_DATE('2021-08-23', '%d-%m-%Y');

输出:

看,它又返回了 NULL。这意味着你必须具有与输入字符串中相同的 DATE 格式。如果我们也有 TIME 怎么办?让我们运行以下命令。

SELECT STR_TO_DATE('2021-08-23 10:12:23', '%Y-%m-%d %T');

输出:

STR_TO_DATE() 函数将忽略文本并仅输出 DATE。请参阅以下示例。

SELECT STR_TO_DATE('2021-08-23 some other string', '%Y-%m-%d') as Date;

输出:

我们也可以提取年份。如果你提取年份,它会将日期和月份设置为零。请参阅以下代码和输出。

SELECT STR_TO_DATE('2021-08-23', '%Y') as Year; #get year

输出:

MySQL CONVERT() 函数

Convert 函数可以将给定的值转换为指定的字符集或数据类型。你可以在此处查看有关数据类型的详细信息。

SELECT CONVERT("2021-08-19", DATE); #convert to DATE SELECT CONVERT("2021-08-19", DATETIME); #convert to DATETIME SELECT CONVERT("2021-08-19", TIME); #convert to TIME

输出:

MySQL CAST() 函数

此函数将任何类型的输入(可以是字符串、整数或其他)转换为任何指定的数据类型。你可以在此处详细查看参数值。

SELECT CAST("2021-08-29" AS DATE) as date; #convert to date type SELECT CAST("2021-08-29 11:12:45" AS DATETIME) as datetime; #convert to datetime type SELECT CAST("11:12:45" AS TIME) as time; #convert to time type

输出:

结论

我们得出的结论是,根据项目要求,可以有多种方法将字符串值转换为 DATE、TIME 和 DATETIME。我们了解了用于转换目的的 STR_TO_DATE、CONVERT 和 CAST 函数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3